Hybris UX Api icon

Hybris UX Api

(0 reviews)

TMF639 - patchLogicalResource

This operation allows to reserve or release from the inventory for below use cases:

  1. Postpaid MSISDN, eSIM(ICCID)
  2. Prepaid MSISDN, eSIM(ICCID)
URL
http://[localhost]:[port]/ecom-ux/v1/{businessId}/logicalResource/{id}
URL PARAMS
nametypedescriptionrequired
businessIdString2 letter ISO 3166 country code (PA, JM) identifying the business unit.Y
idstringResource identification number for which needs to patch the data.Y
Headers
nametypedescriptionrequired
client_idstringThe client-id identifying the channel. Minimum characters: 5Y
client_secretstringPassword associated with the client-id. Minimum characters: 5Y
X-Correlation-IDstringIdentifier that correlates HTTP request between a client and server. Any identification model (UUDI, checksum, etc.) can be used, as long as it is a unique value to differentiate a transaction.N
Data Model - Request
field nametypedescriptionrequired (mandatory-Y, optional-N, Not applicable- N/A, conditionallyMandatory-C/M)
resourceStatusStringTracks the lifecycle status of the resource, such as planning, installing, operating, retiring and so on.
Possible values for PA: available, reserved
Possible values for JM: reserved
Y (PA), Y(JM for PREPAID & POSTPAID)
@typeStringtype of the concrete resource. Possible value for PA: MSISDN, ESIMY(PA), Y(JM for PREPAID & POSTPAID)
relatedParty[].idStringunique identifier of CustomerY(PA), Y(JM for PREPAID & POSTPAID MSISDN)
relatedParty[].nameStringname of CustomerY(PA only for PREPAID usecase), N/A(JM)
relatedParty[].roleStringRole played by the related partyC/M (PA only for POSTPAID ESIM usecase), N/A(JM)
relatedParty[].'@referredType'StringDefines the type of the 'relatedParty[].id' Eg: Customer, EmployeeY(PA), Y(JM for PREPAID & POSTPAID MSISDN only)
resourceCharacteristic[].nameStringName of the characteristic Possible values for PA: SERVICEY(PA), Y(JM for PREPAID & POSTPAID)
resourceCharacteristic[].valueTypeStringData type of the value of the characteristicY(PA), Y(JM for PREPAID & POSTPAID)
resourceCharacteristic[].valueStringValue of the characteristic Possible values for PA: POSTPAID, PREPAIDY(PA), Y(JM for PREPAID & POSTPAID)
relatedParty subResource -Data Model
field nametypedescriptionrequired (mandatory-Y, optional-N, Not applicable- N/A, conditionalMandatory- C/M)examples
relatedParty[].'@referredType' == "Customer"StringCustomer NameC/M (PA), Y(JM for POSTPAID MSISDN)PA(ESIM):
{
"id": "Lakshmi",
"@referredType" : "Customer"
}
JM(MSISDN):
{
"id": "38926687",
"@referredType" : "Customer"
}
relatedParty[].'@referredType' == "Employee"StringEmployee numberC/M (PA only for POSTPAID), N/A(JM)PA(MSISDN):
{
"id": "<**>",
"@referredType" : "Employee"
}
PA(ESIM):
{
"id": "<**>",
"role": "authorizer",
"@referredType" : "Employee"
}
resourceCharacteristic subResource -Data Model
field nametypedescriptionrequired (mandatory-Y, optional-N, Not applicable- N/A)examples
resourceCharacteristic[].name == "SERVICE"StringType of the Service
Possible Value for PA, JM: POSTPAID,PREPAID
Y(PA, JM only for POSTPAID)PA, JM (MSISDN & ESIM):
{
"name": "SERVICE",
"valueType": "string",
"value": "POSTPAID"
}
resourceCharacteristic[].name == "NumberArea"StringType of the NumberArea Example Value for PA: MOVY(PA only for POSTPAID),N/A(JM)PA(MSISDN):
{
"name": "NumberArea",
"valueType": "string",
"value": "MOV"
}
resourceCharacteristic[].name == "BillingAccount.id"StringCustomer billingAccountY(PA only for POSTPAID),N/A(JM)PA(MSISDN):
{
"name": "BillingAccount.id",
"valueType": "string",
"value": "358155960000"
}
resourceCharacteristic[].name == "ServiceType"StringType of the ServiceType
Possible Value for JM: CE (Cellular)
Y(JM only for POSTPAID MSISDN),N/A(PA)JM (MSISDN):
{
"name": "ServiceType",
"valueType": "string",
"value": "CE"
}
resourceCharacteristic[].name == "ReserveUntil"StringType of the Service
Possible Value for JM: Provide future Date
Y(JM only for POSTPAID MSISDN),N/A(PA)JM (MSISDN):
{
"name": "ReserveUntil",
"valueType": "string",
"value": "26-02-2026T14:40:43.000-05:00"
}
resourceCharacteristic[].name == "CardStatusReason"Stringcard status reason
Possible Value for JM: "R"
Y(JM only for POSTPAID ESIM),N/A(PA)JM (ESIM):
{
"name": "CardStatusReason",
"valueType": "string",
"value": "R"
}
resourceCharacteristic[].name == "NumberStatusReason"Stringnumber status reason
Possible Value for JM: "17"
Y(JM only for POSTPAID MSISDN),N/A(PA)JM (MSISDN):
{
"name": "NumberStatusReason",
"valueType": "string",
"value": "17"
}
Data Model - Response
field nametypedescriptionrequired (mandatory-Y, optional-N, Not applicable- N/A, conditionalMandatory- C/M)
idStringIdentifier of an instance of the resource. Required to be unique within the resource type.Y(PA),Y(JM)
hrefStringHyperlink referenceY(PA only for POSTPAID),Y(JM)
resourceStatusStringTracks the lifecycle status of the resource, such as planning, installing, operating, retiring and so on.
Possible values for PA: available, reserved
Possible values for JM: reserved
Y(PA),Y(JM)
@typeStringtype of the concrete resource. Possible value for PA & JM: MSISDN, ESIMY(PA only for POSTPAID),Y(JM)
relatedParty[].idStringunique identifierY(PA only for POSTPAID),Y(JM for POSTPAID MSISDN)
relatedParty[].roleStringRole played by the related partyC/M (PA : ESIM only for POSTPAID),N/A(JM)
relatedParty[].'@referredType'StringThe actual type of the target instance when needed for disambiguation.Y (PA only for POSTPAID),Y(JM for POSTPAID MSISDN)
resourceCharacteristic[].nameStringName of the characteristicY(PA only for POSTPAID),Y(JM)
resourceCharacteristic[].valueTypeStringData type of the value of the characteristicY(PA only for POSTPAID),Y(JM)
resourceCharacteristic[].valueStringValue of the characteristicY(PA only for POSTPAID),Y(JM)
resourceTypeStringType of the concrete resource. Possible value for PA: MSISDN, ESIMY(PA only for PREPAID),N/A(JM)
relatedParty subResource -Data Model
field nametypedescriptionrequired (mandatory-Y, optional-N, Not applicable- N/A,conditionalMandatory- C/M)examples
relatedParty[].'@referredType' == "Customer"StringCustomer NameY(PA only for POSTPAID),Y(JM for POSTPAID MSISDN)PA(ESIM):
{
"id": "Lakshmi",
"@referredType" : "Customer"
}
JM(MSISDN):
{
"id": "38926687",
"@referredType" : "Customer"
}
relatedParty[].'@referredType' == "Employee"StringEmployee numberC/M (PA only for POSTPAID),N/A (JM)PA(MSISDN):
{
"id": "<*>",
"@referredType" : "Employee"
}
PA(ESIM):
{
"id": "<**>",
"role": "authorizer",
"@referredType" : "Employee"
}
resourceCharacteristic subResource -Data Model
field nametypedescriptionrequired (mandatory-Y, optional-N, Not applicable- N/A)examples
resourceCharacteristic[].name == "SERVICE"StringType of the Service
Possible Value for PA, JM: POSTPAID,PREPAID
Y (PA, JM only for POSTPAID)PA, JM (MSISDN & ESIM):
{
"name": "SERVICE",
"valueType": "string",
"value": "POSTPAID"
}
resourceCharacteristic[].name == "NumberArea"StringType of the NumberArea Example Value for PA: MOVY(PA),N/A(JM)PA(MSISDN):
{
"name": "NumberArea",
"valueType": "string",
"value": "MOV"
}
resourceCharacteristic[].name == "BillingAccount.id"StringCustomer billingAccountY(PA),N/A(JM)PA(MSISDN):
{
"name": "BillingAccount.id",
"valueType": "string",
"value": "358155960000"
}
resourceCharacteristic[].name == "ServiceType"StringType of the ServiceType
Possible Value for JM: CE (Cellular)
Y(JM only for POSTPAID MSISDN),N/A(PA)JM (MSISDN):
{
"name": "ServiceType",
"valueType": "string",
"value": "CE"
}
resourceCharacteristic[].name == "ReserveUntil"StringType of the Service
Possible Value for JM: Provide future Date
Y(JM only for POSTPAID MSISDN),N/A(PA)JM (MSISDN):
{
"name": "ReserveUntil",
"valueType": "string",
"value": "26-02-2026T14:40:43.000-05:00"
}
resourceCharacteristic[].name == "CardStatusReason"Stringcard status reason
Possible Value for JM: "R"
Y(JM only for POSTPAID ESIM),N/A(PA)JM (ESIM):
{
"name": "CardStatusReason",
"valueType": "string",
"value": "R"
}
resourceCharacteristic[].name == "NumberStatusReason"Stringnumber status reason
Possible Value for JM: "17"
Y(JM only for POSTPAID MSISDN),N/A(PA)JM (MSISDN):
{
"name": "NumberStatusReason",
"valueType": "string",
"value": "17"
}
Key considerations
Service number(MSISDN) usecase for PA

POSTPAID

- As this is implemented for mobile postpaid customers, if resourceCharacteristic[].name == "SERVICE" then value should be "POSTPAID".
- For MSISDN resourceCharacteristic[].name == "NumberArea" ,For FAST TRACK provisioning, the following value="MOV" is currently working in the Non-Prod environment. However, for the PROD instance, the channel must discuss and finalize the appropriate value with the business, which then need to be configured in the Liberate PROD instance.
- For MSISDN resourceCharacteristic[].name == "BillingAccount.id" then value should be customer billingAccount.
- To reserve/release a MSISDN, set the @type to MSISDN.
- To reserve a MSISDN, set the resourceStatus to "reserved".
- To release a MSISDN, set the resourceStatus to "available".
- If relatedParty[].'@referredType' == "Employee", the following relatedParty[].id value we need to pass employee code. However, for the PROD instance, the channel must discuss and finalize the appropriate values with the business, which then need to be configured in the Liberate PROD instance.
- For reserve/release MSISDN, refer to note section for API specification.

PREPAID

- As this is implemented for mobile prepaid customers, if resourceCharacteristic[].name == "SERVICE" then value should be "PREPAID".
- To reserve/release a MSISDN, set the @type to MSISDN.
- To reserve a MSISDN, set the resourceStatus to "reserved".
- To release a MSISDN, set the resourceStatus to "available".
- If relatedParty[].'@referredType' == "Customer" then Customer Name should be passed in relatedParty[].name
- For reserve/release MSISDN, refer to note section for API specification.
eSIM (ICCID) usecase for PA

POSTPAID

- As this is implemented for mobile postpaid customers, if resourceCharacteristic[].name == "SERVICE" then value should be "POSTPAID".
- To reserve/release a eSIM(ICCID), set the @type to ESIM.
- To reserve a eSIM(ICCID), set the resourceStatus to "reserved".
- To release a eSIM(ICCID), set the resourceStatus to "available".
- If relatedParty[].'@referredType' == "Employee" and relatedParty[].role == "authorizer" are given then employee number should be passed in relatedParty[].id
- If relatedParty[].'@referredType' == "Customer" then Customer billing account id should be passed in relatedParty[].id
- For reserve/release eSIM(ICCID), refer to note section for API specification.

PREPAID

- As this is implemented for mobile prepaid customers, if resourceCharacteristic[].name == "SERVICE" then value should be "PREPAID".
- To reserve/release a eSIM, set the @type to eSIM.
- To reserve a eSIM, set the resourceStatus to "reserved".
- To release a eSIM, set the resourceStatus to "available".
- If relatedParty[].'@referredType' == "Customer" then Customer Name should be passed in relatedParty[].name
- For reserve/release eSIM, refer to note section for API specification.
Service number(MSISDN) usecase for JM

POSTPAID

- This is implemented for postpaid customers for JM market.
- If resourceCharacteristic[].name = "SERVICE", then set its value to "POSTPAID".
- If resourceCharacteristic[].name = "NumberStatusReason" for MSISDN reservation, set its value to "17" (TBD - Pending confirmation from Liberate).
- If resourceCharacteristic[].name = "ServiceType", set its value to "CE". (as this request is for Mobile, serviceType should be set as "CE")
- If resourceCharacteristic[].name = "ReserveUntil", set the value to a future date/time when MSISDN should remain reserved.
- To reserve MSISDN, set @type = "MSISDN" and  resourceStatus = "reserved".
- If relatedParty[].@referredType = "customer", set relatedParty[].id = customerNumber.
- For PROD environment, final values must be confirmed with business and configured in Liberate PROD.
- For reserve MSISDN, refer to note section for API specification.
eSIM (ICCID) usecase for JM

POSTPAID

- This is implemented for postpaid customers for JM market.
- If resourceCharacteristic[].name = "SERVICE", then set its value to "POSTPAID" because this setup is for postpaid mobile customers.
- To reserve an eSIM (ICCID), set @type = "ESIM" and resourceStatus = "reserved".
- If resourceCharacteristic[].name = "CardStatusReason" for ICCID, then its value must be "R".
- For PROD, the channel must confirm and finalize these values with the business team before configuring them in Liberate PROD.
- For reserve eSIM(ICCID), refer to note section for API specification.

Note : For request and response examples please refer to this URL Patch LogicalResource Specification


Reviews